package cn.iocoder.yudao.module.xhyy.service.exam;

import javax.validation.*;
import cn.iocoder.yudao.module.xhyy.controller.admin.exam.vo.*;
import cn.iocoder.yudao.module.xhyy.controller.app.exam.vo.AppExamPageReqVO;
import cn.iocoder.yudao.module.xhyy.dal.dataobject.exam.ExamDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;

/**
 * 试卷资源 Service 接口
 *
 * @author duanxinli
 */
public interface ExamService {

    /**
     * 创建试卷资源
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    String createExam(@Valid ExamSaveReqVO createReqVO);

    /**
     * 更新试卷资源
     *
     * @param updateReqVO 更新信息
     */
    void updateExam(@Valid ExamSaveReqVO updateReqVO);

    /**
     * 删除试卷资源
     *
     * @param id 编号
     */
    void deleteExam(String id);

    /**
     * 获得试卷资源
     *
     * @param id 编号
     * @return 试卷资源
     */
    ExamDO getExam(String id);

    /**
     * 获得试卷资源分页
     *
     * @param pageReqVO 分页查询
     * @return 试卷资源分页
     */
    PageResult<ExamDO> getExamPage(ExamPageReqVO pageReqVO);

    /**
     * 获得试卷资源分页
     *
     * @param pageReqVO 分页查询
     * @return 试卷资源分页
     */
    PageResult<ExamDO> getExamPage(AppExamPageReqVO pageReqVO);

}